package cn.fruitmarket.utils;
import java.math.BigDecimal;
import java.text.DecimalFormat;

/**
 * 金额工具类,主要是金额的格式化,金额的加、减
 */
public class MoneyUtil {

    public static DecimalFormat fnum = new DecimalFormat("##0.00");

    /**
     * 格式化金额
     * @param value
     * @return
     */
    public static String formatMoney(String value){
        if(value == null || value == "" ){
            value = "0.00";
        }
        return fnum.format(new BigDecimal(value));
    }

    /**
     * 格式化金额
     * @param value
     * @return
     */
    public static double roudTwo(double value){
        BigDecimal bigDecimal = new BigDecimal(value);
        return bigDecimal.setScale(2,BigDecimal.ROUND_DOWN).doubleValue();
    }



    /**
     * 金额相加
     * @param valueStr 基础值
     * @param addStr 被加数
     * @return
     */
    public static double moneyAdd(double valueStr,double addStr){
        BigDecimal value = new BigDecimal(valueStr);
        BigDecimal augend = new BigDecimal(addStr);
        return value.add(augend).doubleValue();
    }

    /**
     * 金额相减
     * @param valueStr 基础值
     * @param minusStr 减数
     * @return
     */
    public static double moneySub(double valueStr,double minusStr){
        BigDecimal value= new BigDecimal(valueStr);
        BigDecimal subtrahend = new BigDecimal(minusStr);
        return value.subtract(subtrahend).doubleValue();
    }


    /**
     * 金额相乘
     * @param valueStr 基础值
     * @param mulStr 被乘数
     * @return
     */
    public static double moneyMul(double valueStr,double mulStr){
        BigDecimal value = new BigDecimal(valueStr);
        BigDecimal mulValue = new BigDecimal(mulStr);
        return value.multiply(mulValue).setScale(3,BigDecimal.ROUND_DOWN).doubleValue();
    }

}
